Security for programs has long been desirable. In microcomputers with on-board erasable programmable read only memory (EPROM) an effective solution has been developed. A security bit using an EPROM cell prevents the contents of the EPROM from being externally available whenever this security bit is set. To erase the security bits, application of ultraviolet light is made. The application of the ultraviolet light also erases the contents of the EPROM. For testing and other purposes it is necessary to be able to erase the security bit. In the EPROM case, security is maintained because erasing the security bit erases the EPROM so there are no contents of any value to read after the security bit has been erased. The principle can be applied to microcomputers with an on-board electrically erasable programmable read only memory (EEPROM). An EEPROM security bit can prevent the contents of the EEPROM from being externally available. A bulk erase mode would erase the security bit and also the EEPROM. Consequently, any attempt to make the contents of the EEPROM available externally by erasing the security bit would also erase the EEPROM.
This approach assumes that a bulk erase mode is available. A microcomputer will typically have bulk erase capability but not necessarily as a separate mode. For example, a test mode of the microcomputer may have the capability of bulk erase along with other capabilities including the capability of externally reading the contents of the EEPROM. To be analogous to the EPROM case, a separate erase mode would be required. In effect, in the EPROM case, there is a separate erase mode. This erase mode is simply the application of ultraviolet light which does not require any additional circuitry or pins. To provide a separate erase mode requires one or more additional pins and extra circuitry. Additionally, there are many users who do not consider the security bit feature worth the trouble. Consequently, a microcomputer without the security bit would not require the extra pins. This would result in microcomputers with the security bit feature having a different pin-out than microcomputers which are otherwise the same but do not have the security bit. The microcomputer with the security bit would thus be easily distinguishable, a situation that users of the security bit feature would very much like to avoid.
To have a security bit which prevents modes of operation which can access the inner working of the microcomputer would be effective for security, but would present many other problems. One problem is that the state of an EEPROM cell as it comes out of processing is not sufficiently predictable. If the security bit was set after processing, there would not be available a mode for sufficiently testing the microcomputer. Consequently, such microcomputers could not be sold. Another problem is that the user may want to use another program in place of one that has already been entered and secured by setting the security bit. The user would not be able to gain access to the EEPROM and thus lose some of the utility of having EEPROM instead of less expensive ROM. Another problem is testing parts that have been shipped to a user and have been returned because of what is believed to be some defect. Without being able to gain access to the inner workings of the microcomputer, it would not be possible to adequately test for the suspected defect.